home *** CD-ROM | disk | FTP | other *** search
/ Ultra Pack / UltraComputing Technology Demos and Tools.iso / java / demo / lr / revo.wrl < prev    next >
Text File  |  1996-05-17  |  2KB  |  100 lines

  1. #VRML V1.0 ascii
  2.  
  3. # revo.wrl -- Chris Laurel, 10-21-95
  4. #
  5. # This is a demonstration of the SurfaceOfRevolutionNode:
  6. #
  7. #  SurfaceOfRevolution {
  8. #      profile            [ ]       # MFVec2f
  9. #      radialSubdivision   -1       # SFLong
  10. #      close              FALSE     # SFBool
  11. #  }
  12. #
  13. # If radialSubdivison is -1, the number of slices to generate will be
  14. #    determined automatically.
  15. # If close is TRUE, a segment from the last vertex to first vertex in
  16. #    the profile will be generated automatically.
  17. # The same material is used for the whole object, regardless of the
  18. #    current material binding.  A cylindrical projection is used to generate
  19. #    texture coordinates.  No normals are generated if the current normal
  20. #    binding is OVERALL; if the binding is PER_FACE or PER_FACE_INDEXED, face
  21. #    normals are generated.  Otherwise, vertex normals are generated using the
  22. #    current crease angle.
  23.  
  24. Separator {
  25.    DEF BackgroundColor Info { string "0.5 0.5 0.5" }
  26.    DEF Viewer Info { string "walk" }
  27.    DEF ViewerSpeed Info { string "3" }
  28.  
  29.    PerspectiveCamera {
  30.       position 0 0 8
  31.       orientation 0 1 0 0
  32.    }
  33.  
  34.    DirectionalLight { direction 1 0 0 }
  35.  
  36.    Material {
  37.       ambientColor [ 0 0 0 ]
  38.       diffuseColor [ 0.1 0.5 0.2 ]
  39.    }
  40.  
  41.    Separator {
  42.         Rotor { rotation 1 0 0 1 speed 0.3 }
  43.     Rotor { rotation 0 0 1 2 speed 0.4 }
  44.  
  45.     # This object sets the radialSubdivision parameter so that is
  46.     #   appears faceted rather than rounded
  47.         SurfaceOfRevolution {
  48.         radialSubdivision 6
  49.         profile [ 0 1, 1 0.5, 1 0.25, 0.8 0, 1 -0.25, 1 -0.5, 0 -1 ]
  50.     }
  51.    }
  52.  
  53.    Translation { translation -3 0 0 }
  54.  
  55.    Separator {      
  56.         Rotor { rotation 1 0 0 0.5 speed 0.3 }
  57.     Rotor { rotation 0 0 1 0.5 speed 0.4 }
  58.        Material {
  59.           ambientColor [ 0 0 0 ]
  60.           diffuseColor [ 0.7 0.1 0.1 ]
  61.        }
  62.        SurfaceOfRevolution {
  63.         profile [ 0 0.5,
  64.               0.5 0.5,
  65.               0.5 1,
  66.                 1 1,
  67.               0.9 0.81,
  68.               0.8 0.64,
  69.               0.7 0.49,
  70.               0.6 0.36,    
  71.               0.5 0.25,
  72.               0.4 0.16,
  73.               0.3 0.09,
  74.               0.2 0.04,
  75.               0.1 0.01,
  76.               0 0 ]
  77.        }
  78.  
  79.    }
  80.  
  81.    Translation { translation 6 0 0 }
  82.  
  83.    Separator {
  84.     Rotor { rotation 0 0 1 2.5 speed 0.5 }
  85.         Rotor { rotation 1 0 0 1.5 speed 0.2 }
  86.        Material {
  87.           ambientColor [ 0 0 0 ]
  88.           diffuseColor [ 0.2 0.7 0.8 ]
  89.           specularColor [1 1 1]
  90.           shininess 0.9
  91.        }
  92.  
  93.        SurfaceOfRevolution {
  94.         profile [ 0.7 0.3, 1.3 0, 0.7 -0.3 ]
  95.         close TRUE
  96.        }
  97.    }
  98.    
  99. }
  100.